package com.tosee.logic;

import java.util.List;

import com.tosee.model.allocine.AlloEpisode;
import com.tosee.model.allocine.AlloSaison;
import com.tosee.model.allocine.AlloSerie;
import com.tosee.model.dto.RechercheDto;

/**
 * Interface BL Serie
 * 
 * @author RobinT
 */
public interface IAllocineBusinessLogic {

    /**
     * Retourne toutes les séries avec ce nom depuis allocine _name Le nom de la série
     * 
     * @param _rechercheDto Le dto contenant le champ à rechercher
     * @return une liste de {@link AlloSerie}
     */
    List<AlloSerie> getSeriesLightByRechercheNom(RechercheDto _rechercheDto);

    /**
     * Retourne le détail de la série concernée (+liste saison)
     * 
     * @param _rechercheDto Le dto contenant le champ à rechercher
     * @return une liste de {@link AlloSerie}
     */
    AlloSerie getSerieInfoByRechercheCode(RechercheDto _rechercheDto);

    /**
     * Retourne le détail de la saison concernée (+liste episodes)
     * 
     * @param _rechercheDto Le dto contenant le champ à rechercher
     * @return une liste de {@link AlloSaison}
     */
    AlloSaison getSaisonInfoByRechercheCode(RechercheDto _rechercheDto);

    /**
     * Retourne le détail de l'épisode
     * 
     * @param _rechercheDto Le dto contenant le champ à rechercher
     * @return une liste de {@link AlloEpisode}
     */
    AlloEpisode getEpisodeInfo(RechercheDto _rechercheDto);

}
